package com.shopx.base.constants;

import java.io.Serializable;

/**
 * 返回码枚举
 *
 * @author jiangxinde
 * @date 2018/7/18 21:52
 */
public enum ResultCodeEnum implements Serializable {
  /**
   * 成功
   */
  SUCCESS("00000", "成功"),
  RESP_NULL("10001", "响应为空"),
  DATA_DUPLICATE_KEY("10002", "数据重复"),
  DB_ERROR("10003", "数据执行失败"),
  PAR_NULL("10004", "执行参数缺失，操作失败"),
  USER_NOT_ROLE("10005", "用户没有对应的角色信息"),
  BUSI_NOT_EXISTS_RECORD("10006", "查询记录不存在"),
  BUSI_NO_AUTH_ACCESS("10007", "对不起，您没有该功能访问权限"),
  EXPORT_ERROR("10008", "导出列表失败"),
  BUSI_NO_AUTH_DATA_ACCESS("10009", "对不起，您没有权限访问此记录"),
  RECORD_INVALID("10010", "记录已经失效"),
  BUSI_NO_AUTH_ORG("10011", "对不起，您所在的部门没有权限访问记录"),
  ORDER_NOT_EXISTS("10012", "工地不存在，操作失败"),
  STEP_NOT_EXISTS("10013", "施工步骤不存在，操作失败"),
  FINANCE_STEP_NOT_EXISTS("10014", "财务流程不存在，操作失败"),
  ORDER_NOT_AUTH("10015", "对不起，您没权限操作该工地"),
  DOWNLOAD_ERROR("10016", "下载失败"),
  OPR_FREQUENT_ERROR("10017", "操作过于频繁，请稍后再试"),
  CHANGE_PSWD("10018", "检测您的密码为初始密码，请立刻修改密码"),




  BUSI_TOKEN_ERROR("30001", "令牌错误，请重新登录"),
  BUSI_TOKEN_INVALIDATE("30002", "会话失效，请重新登录"),
  BUSI_SIGN_ERROR("30003", "签名不正确，请重新登录"),
  INTERNAL_SERVER_ERROR("99999", "系统开小差了，请您稍后再试！"),
  ;

  private final String value;
  private final String message;

  ResultCodeEnum(String value, String message) {
    this.value = value;
    this.message = message;
  }

  public String value() {
    return this.value;
  }

  public String message() {
    return this.message;
  }

  /**
   * @descript 获取描述
   * @param value
   * @author lituo
   * @date 2021/11/18 10:44
   * @return java.lang.String
   */
  public static String getDesc(String value) {
    ResultCodeEnum[] businessModeEnums = values();
    for (ResultCodeEnum businessModeEnum : businessModeEnums) {
      if (businessModeEnum.value().equals(value)) {
        return businessModeEnum.message();
      }
    }
    return "系统开小差了，请您稍后再试！";
  }
}
